1. Field of the Invention
This invention relates to reducing the queue time for requests for data in a data storage hierarchy. More particularly, the invention relates to monitoring the utilization of a level of the hierarchy and promoting data to a relatively higher level of the hierarchy if monitored level becomes overutilized.
2. Description of the Related Art
Modern computers require a host processor including one or more central processing units and a memory facility. The processor manipulates data stored in the memory according to instructions provided to it. The memory must therefore be capable of storing data required by the processor and transferring that data to the processor at a rate capable of making the overall operation of the computer feasible. The cost and performance of computer memory is thus critical to the commercial success of a computer system.
Because today's computers require large quantities of data storage capacity, computer memory is available in many forms. A fast but expensive form of memory is main memory, typically comprised of microchips. Other available forms of memory are known as peripheral storage devices and include magnetic direct access storage devices (DASD), magnetic tape storage devices, optical recordming devices, and automated storage libraries. Automated storage libraries include a plurality of storage cells for retaining removable data storage media, one or more peripheral storage devices, and machine-executed means ( e.g. a robotic picker) for transferring the data storage media between the storage cells and the peripheral storage devices without manual assistance. These types of memory actually store data on the storage media therein. Each data storage medium may be contained in a cassette or cartridge housing for easier handling.
Each of these other types of memory has a greater storage density and lower cost than main memory. However, these other memory devices do not provide the performance provided by main memory. For example, the time required to properly position the tape or disk beneath the read/write mechanism of the drive cannot compare with the rapid, purely electronic data transfer rate of main memory. The time required to transfer a tape or disk between a storage cell and a drive is skill slower.
It is inefficient to store all of the data in a computer system on but a single type of memory device. Storing all of the data in main memory is too costly and storing all of the data on one of the peripheral storage devices reduces performance. Thus, a typical computer system includes both main memory and one or more types of peripheral storage devices arranged in a data storage hierarchy. The data storage hierarchy arrangement is tailored to the performance and cost requirements of the user. In such a hierarchy, main memory is often referred to as primary data storage, the next level of the hierarchy is often to referred to as secondary data storage, and so on. Generally, the highest level of the hierarchy has the lowest storage capacity, highest performance and highest cost. As one proceeds down through the hierarchy, storage capacity generally increases, performance generally decreases, and cost generally decreases. By transferring data between different levels of the hierarchy as required, the cost of memory is minimized to the extent that the user is willing to trade-off performance. Data is thus stored in main memory only so long as it is expected to be required by the processor. The hierarchy may take many forms, include any number of data storage or memory levels, and may be able to transfer data directly between any two distinct memory levels. The transfer of data may employ I/O channels, controllers, or cache memories as is well known in the art.
In a typical data storage hierarchy, data is stored at one level for a specified period of time, until it becomes relatively inactive, or until tile such level reaches its storage capacity. The data is then migrated to a relatively lower level. Data is not recalled to a higher level unless access to it is specifically required, or is at least probable because of proximity or association with other data for which access is specifically required (as in common caching techniques). When such accesses are complete, the data is again migrated downward through the hierarchy. Eventually, the data reaches the bottom level of the hierarchy, which is generally manually accessible shelf storage of removable data storage media.
As data migrates downward through the hierarchy, the utilization of the lower levels increases, and the queue time for a request to access data in one of such levels grows relative to the actual time to retrieve the data upon removing the request from the queue. It is known that eventually the queue time for a data access request can be longer than the actual data retrieval time. This effect is particularly troublesome in automated storage libraries because the time to retrieve and mount a storage medium is so much greater than the speed with which electronic operations occur in the host processor. The only known techniques for addressing such increasing queue times are simply removing data from the hierarchy altogether, caching, and adding peripheral storage devices to the effected level of the hierarchy. Simply reproving the data resolves the queue time problem at the expense of access to the data. Because caching does not occur unless access to data is requested, it fails to properly anticipate many queue time problems. A heretofore unrecognized problem is the improvement of queue time without the use of the aforementioned techniques.